<?php
/**
 * Clase para almacenar las notificaciones de vista desde los servicios.
 *
 */
class Normalizador {

	static private $instance = NULL;

	static function getInstance() {
	    if (self::$instance == NULL) {
    	    self::$instance = new Normalizador();
    	}
          return self::$instance;
	}

	private function __construct(){

	}


   public function normalizar($texto = ''){
		$texto = strtolower($texto);
	    $texto = preg_replace('/\W/', ' ', $texto);
	    $texto = preg_replace('/\ +/', '-', $texto);
	    $texto = preg_replace('/\-$/', '', $texto);
	    $texto = preg_replace('/^\-/', '', $texto);

	    return $texto;
   }

    function parsearHashTag($cadena = "",$hashes = array()){
        $hashInit = strpos($cadena,'#');
        if ($hashInit != false) {
	      if (strpos($cadena,chr(32),$hashInit +1) != false) {
	           $hashEnd = strpos($cadena,chr(32),$hashInit +1);
	      } else {
	           $hashEnd = strlen($cadena);
	      }
	      $hash = substr($cadena,$hashInit,$hashEnd-$hashInit);
	      $hashes[] = $hash;
	      //Recursividad
	      $cadena = str_replace($hash,' ',$cadena);
	      $this->parsearHashTag($cadena,&$hashes);
	    }
 	}

}